package com.groupseven.backend.domain.Paper;


import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * @Author 王志华
 */
public class Paper {
    @NotBlank(message = "论文名不能为空！")
    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    public String PaperName; //论文名称

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "全体作者不能为空！")
    public String AllAuthors; //全体作者（通讯作者）

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "职工号名不能为空！")
    public String EmployeeNumber; //职工号

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "期刊名称不能为空！")
    public String JournalTitle; //期刊名称

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "所属单位不能为空！")
    public String Affiliation; //所属单位

    public String SubjectCategory; //学科门类(字典控制)

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "来源不能为空！")
    public String Source; //来源


    public int ApprovalStatus; //审核状态(字典控制)1审核中2待审核3审核通过4审核不通过

    public String PublishedJournals; //发表期刊名？？？？？？？？？？？？？？？？

    @NotBlank(message = "发表时间不能为空！")
    public String issuing_time; //发表时间***************

    @NotBlank(message = "论文类型不能为空！")
    public String PaperType; //论文类型***************(字典控制)

    @NotBlank(message = "学科类型不能为空！")
    public String SubjectType; //学科类型***************(字典控制)

    @NotBlank(message = "一级学科不能为空！")
    public String first_level_discipline; //一级学科***************(字典控制)

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "成果归属不能为空！")
    public String AchievementAttribution; //成果归属

    public String ProjectSource; //项目来源***************

    public String Remark; //备注

    public String whether_to_modify; //是否修改?????***************(字典控制)

    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    @NotBlank(message = "论文编号不能为空！")
    public String PaperNumber; //论文编号----数据库主键***************

    public String username;//论文隶属用户名***************

    public int isfinish;//1进行2进行中3已结束

    //
    public int Level;//论文等级
    //


    public Date StartTime;
    public Date EndTime;

    public Date getStartTime() {
        return StartTime;
    }

    public void setStartTime(Date startTime) {
        StartTime = startTime;
    }

    public Date getEndTime() {
        return EndTime;
    }

    public void setEndTime(Date endTime) {
        EndTime = endTime;
    }

    public int getLevel() {
        return Level;
    }

    public void setLevel(int level) {
        Level = level;
    }

    public int getIsfinish() {
        return isfinish;
    }

    public void setIsfinish(int isfinish) {
        this.isfinish = isfinish;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPaperName() {
        return PaperName;
    }

    public void setPaperName(String paperName) {
        PaperName = paperName;
    }

    public String getAllAuthors() {
        return AllAuthors;
    }

    public void setAllAuthors(String allAuthors) {
        AllAuthors = allAuthors;
    }

    public String getEmployeeNumber() {
        return EmployeeNumber;
    }

    public void setEmployeeNumber(String employeeNumber) {
        EmployeeNumber = employeeNumber;
    }

    public String getJournalTitle() {
        return JournalTitle;
    }

    public void setJournalTitle(String journalTitle) {
        JournalTitle = journalTitle;
    }

    public String getAffiliation() {
        return Affiliation;
    }

    public void setAffiliation(String affiliation) {
        Affiliation = affiliation;
    }

    public String getSubjectCategory() {
        return SubjectCategory;
    }

    public void setSubjectCategory(String subjectCategory) {
        SubjectCategory = subjectCategory;
    }

    public String getSource() {
        return Source;
    }

    public void setSource(String source) {
        Source = source;
    }

    public int getApprovalStatus() {
        return ApprovalStatus;
    }

    public void setApprovalStatus(int approvalStatus) {
        ApprovalStatus = approvalStatus;
    }

    public String getPublishedJournals() {
        return PublishedJournals;
    }

    public void setPublishedJournals(String publishedJournals) {
        PublishedJournals = publishedJournals;
    }

    public String getIssuing_time() {
        return issuing_time;
    }

    public void setIssuing_time(String issuing_time) {
        this.issuing_time = issuing_time;
    }

    public String getPaperType() {
        return PaperType;
    }

    public void setPaperType(String paperType) {
        PaperType = paperType;
    }

    public String getSubjectType() {
        return SubjectType;
    }

    public void setSubjectType(String subjectType) {
        SubjectType = subjectType;
    }

    public String getFirst_level_discipline() {
        return first_level_discipline;
    }

    public void setFirst_level_discipline(String first_level_discipline) {
        this.first_level_discipline = first_level_discipline;
    }

    public String getAchievementAttribution() {
        return AchievementAttribution;
    }

    public void setAchievementAttribution(String achievementAttribution) {
        AchievementAttribution = achievementAttribution;
    }

    public String getProjectSource() {
        return ProjectSource;
    }

    public void setProjectSource(String projectSource) {
        ProjectSource = projectSource;
    }

    public String getRemark() {
        return Remark;
    }

    public void setRemark(String remark) {
        Remark = remark;
    }

    public String getWhether_to_modify() {
        return whether_to_modify;
    }

    public void setWhether_to_modify(String whether_to_modify) {
        this.whether_to_modify = whether_to_modify;
    }

    public Paper() {
    }

    public String getPaperNumber() {
        return PaperNumber;
    }

    public Paper(String paperName, String allAuthors, String employeeNumber, String journalTitle, String affiliation, String subjectCategory, String source, int approvalStatus, String publishedJournals, String issuing_time, String paperType, String subjectType, String first_level_discipline, String achievementAttribution, String projectSource, String remark, String whether_to_modify, String paperNumber,String username) {
        PaperName = paperName;
        AllAuthors = allAuthors;
        EmployeeNumber = employeeNumber;
        JournalTitle = journalTitle;
        Affiliation = affiliation;
        SubjectCategory = subjectCategory;
        Source = source;
        ApprovalStatus = approvalStatus;
        PublishedJournals = publishedJournals;
        this.issuing_time = issuing_time;
        PaperType = paperType;
        SubjectType = subjectType;
        this.first_level_discipline = first_level_discipline;
        AchievementAttribution = achievementAttribution;
        ProjectSource = projectSource;
        Remark = remark;
        this.whether_to_modify = whether_to_modify;
        PaperNumber = paperNumber;
        this.username=username;
    }

    public void setPaperNumber(String paperNumber) {
        PaperNumber = paperNumber;
    }

    public Paper(String paperName, String allAuthors, String employeeNumber, String journalTitle, String affiliation, String subjectCategory, String source, int approvalStatus, String publishedJournals, String issuing_time, String paperType, String subjectType, String first_level_discipline, String achievementAttribution, String projectSource, String remark, String whether_to_modify) {
        PaperName = paperName;
        AllAuthors = allAuthors;
        EmployeeNumber = employeeNumber;
        JournalTitle = journalTitle;
        Affiliation = affiliation;
        SubjectCategory = subjectCategory;
        Source = source;
        ApprovalStatus = approvalStatus;
        PublishedJournals = publishedJournals;
        this.issuing_time = issuing_time;
        PaperType = paperType;
        SubjectType = subjectType;
        this.first_level_discipline = first_level_discipline;
        AchievementAttribution = achievementAttribution;
        ProjectSource = projectSource;
        Remark = remark;
        this.whether_to_modify = whether_to_modify;
    }

    public Paper(String paperName, String allAuthors, String employeeNumber, String journalTitle, String affiliation, String subjectCategory, String source, int approvalStatus) {
        PaperName = paperName;
        AllAuthors = allAuthors;
        EmployeeNumber = employeeNumber;
        JournalTitle = journalTitle;
        Affiliation = affiliation;
        SubjectCategory = subjectCategory;
        Source = source;
        ApprovalStatus = approvalStatus;
    }
}
